package com.shop.loan.mapper;

import com.shop.loan.model.entity.LoanOrderBillByMybatis;
import com.shop.loan.model.entity.LoanOrderByMybatis;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface LoanOrderBillByMybatisMapper {
    int deleteByPrimaryKey(Long id);

    int insert(LoanOrderBillByMybatis row);

    int insertSelective(LoanOrderBillByMybatis row);

    LoanOrderBillByMybatis selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(LoanOrderBillByMybatis row);

    int updateByPrimaryKey(LoanOrderBillByMybatis row);

    List<LoanOrderBillByMybatis> selectListByOrder(@Param("orderId") Long orderId);

    List<LoanOrderBillByMybatis> selectListByOverdue(@Param("nowTime") String nowTime, @Param("overdueStatus") Boolean overdueStatus);

    List<LoanOrderBillByMybatis> selectListByTomToday(@Param("startTime") String startTime, @Param("endTime") String endTime);

    List<LoanOrderBillByMybatis> selectOverdueDay(@Param("orderId") Long orderId);

    int deleteByOrderId(@Param("orderId") Long orderId);

    LoanOrderBillByMybatis selectSum(LoanOrderByMybatis loanOrderByMybatis);

    List<Long> selectListById(LoanOrderByMybatis loanOrderByMybatis);

    Integer selectCount(LoanOrderByMybatis loanOrderByMybatis);

    Integer selectOrderNumCount(LoanOrderByMybatis loanOrderByMybatis);

    BigDecimal selectUnPayMoney(LoanOrderByMybatis loanOrderByMybatis);

    LoanOrderBillByMybatis selectFirstUnPay(@Param("orderId") Long orderId);

    List<LoanOrderBillByMybatis> selectByDiffDay();
}